home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 26 / AACD 26.iso / AACD / Programming / ace_gpl_release / src / lib / c / ILBM_Lib.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-10-04  |  2.0 KB  |  60 lines

  1. /*
  2. ** ILBM library structures. Taken from Jeff Glatt's complete 
  3. ** ILBM_lib.h header file.
  4. ** Copyright (C) 1998 David Benn
  5. ** 
  6. ** This program is free software; you can redistribute it and/or
  7. ** modify it under the terms of the GNU General Public License
  8. ** as published by the Free Software Foundation; either version 2
  9. ** of the License, or (at your option) any later version.
  10. **
  11. ** This program is distributed in the hope that it will be useful,
  12. ** but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. ** GNU General Public License for more details.
  15. **
  16. ** You should have received a copy of the GNU General Public License
  17. ** along with this program; if not, write to the Free Software
  18. ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  19. **
  20. ** 7th August 1994, David Benn
  21. */
  22.  
  23. #define    maxColorReg     32    
  24. #define    maxCycles    8         
  25.  
  26. typedef struct {
  27.     UWORD w, h;            /* raster width & height in pixels */
  28.     WORD  x, y;            /* position for this image */
  29.     UBYTE nPlanes;        /* # source bitplanes */
  30.     UBYTE masking;        /* masking technique */
  31.     UBYTE compression;        /* compression algoithm */
  32.     UBYTE pad1;            /* UNUSED.  For consistency, put 0 here.*/
  33.     UWORD transparentColor;    /* transparent "color number" */
  34.     UBYTE xAspect, yAspect;    /* aspect ratio, a rational number x/y */
  35.     WORD  pageWidth, pageHeight;/* source "page" size in pixels */
  36. } BitMapHeader;
  37.  
  38. typedef struct {
  39.     WORD    pad1;    /* future exp - store 0 here */
  40.     WORD    rate;    /* 60/sec=16384, 30/sec=8192, 1/sec=16384/60=273 */
  41.     WORD    active;    /* lo bit 0=no cycle, 1=yes; next bit 1=rvs */
  42.     UBYTE    low;    /* range lower */
  43.     UBYTE    high;    /* range upper */
  44. } CrngChunk;
  45.  
  46. typedef struct {
  47.    UBYTE iFlags;
  48.    UBYTE iUserFlags;
  49.    BitMapHeader iBMHD;
  50.    ULONG iViewModes;
  51.    WORD iColorTable[maxColorReg];
  52.    UBYTE iNumColors;
  53.    UBYTE iCycleCnt;
  54.    CrngChunk iCRNG[maxCycles];
  55.    struct Window *iWindow;
  56.    struct Screen *iScreen;
  57.    struct BitMap *iBMAP;
  58.    ULONG iBMSize;
  59. } ILBMFrame;
  60.